package com.ssh.manager;

import java.util.List;
import java.util.Map;

import com.ssh.common.util.Page;
import com.ssh.entity.Brand;
import com.ssh.entity.ChangGui;
import com.ssh.entity.Company;
import com.ssh.entity.SuperMarket;
import com.ssh.entity.Task;
import com.ssh.entity.TaskProductEmployee;

public interface TaskProductEmployeeManager {
	
	public boolean delete(Long id);
	
	/**
	 * 根据查询条件分页查询已指派的任务
	 * @param conditionMap
	 * @param page
	 * @param isDesc
	 */
	public void findListBy(Map conditionMap, Page page, String isDesc);
	
	/**
	 * 保存OR修改
	 * @param taskProductEmployee
	 * @return
	 */
	public TaskProductEmployee saveUpdate(TaskProductEmployee taskProductEmployee);
	
	/**
	 * mobile api
	 * 任务产品业务员表中查询最新任务
	 * @param company
	 * @return
	**/
	public Map<String, Object> LastTask(long employeeId) ;

	
	/**
	 * mobile api
	 * 根据业务员Id和任务Id查询系统列表
	 * @param employeeId
	 * @param taskId
	 * @return list
	 */
	public List<Company> companyListFromTask(Long taskId,long employeeId);
	
	/**
	 * mobile api
	 * 根据业务员Id和任务Id和系统id查询系统列表
	 * @param employeeId
	 * @param taskId
	 * @param companyId
	 * @return list
	 */
	public List<SuperMarket> superMarketListFromTaskAndCompany(long taskId,Long companyId,long employeeId);
	
	/**
	 * mobile api
	 * 根据业务员Id和任务Id和门店id查询品牌列表
	 * @param employeeId
	 * @param taskId
	 * @param superMarketId
	 * @return list
	 */
	public List<Brand> branListFromTaskAndCompany(long taskId,Long superMarketId,long employeeId);
	
	/**
	 * mobile api
	 * 根据业务员Id和任务Id和门店id,品牌Id查询品牌列表
	 * @param employeeId
	 * @param taskId
	 * @param superMarketId
	 * @param brandId
	 * @return list
	 */
	public List<Object> productlistOfSuperMarket(long taskId,long superMarketId,long brandId,long employeeId);
	
	
	/**
	 * mobile api
	 * 添加常规
	 * @param changGuis
	 * @return ChangGui
	 */
	public List<ChangGui> addChangGui(List<ChangGui> changGuis);
	
	/**
	 * mobile api
	 * 查询任务商店业务员表
	 * @param id
	 * @return TaskProductEmployee
	 */
	public TaskProductEmployee findTaskProductEmployeeEmployee(long taskProductEmployeeId);

	/**
	 * mobile api
	 * 添加助销信息
	 * @param helpSales
	 * @return helpSales
	 */
	public List<Object>  addHelpSale(List<Map<String, String>> param);

	/**
	 * 根据业务员ID查询未过期的任务
	 * @param employeeId
	 * @return
	 */
	public List<Task> findTaskByEid(long employeeId);
	
	

	/**
	 * 根据任务和业务员查询查询所有产品
	 * @param employeeId
	 * @param taskId
	 * @return
	 */
	public List<TaskProductEmployee> findTaskProductEmployeeByTaskEmployee(long taskId,long employeeId) ;
}
